﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;

namespace ABCNet.NetPoints
{
    [Table("N_NetPoints")]
    public class NetPoint : Abp.Domain.Entities.Auditing.AuditedEntity
    {
        /// <summary>
        /// 客户Id
        /// </summary>
        public long UserId { get; set; }

        /// <summary>
        /// 根节点Id
        /// </summary>
        public int RootId { get; set; }
        
        /// <summary>
        /// 网组类型
        /// </summary>
        public NetTypes NetType { get; set; }

        /// <summary>
        /// 点位来源类型
        /// </summary>
        public PointTypes PointType { get; set; }

        public int PL1 { get; set; }

        public int PL2 { get; set; }

        public int PL3 { get; set; }

        public int PL4 { get; set; }

        public int PL5 { get; set; }

        /// <summary>
        /// 关系路径
        /// </summary>
        [StringLength(1024)]
        public string RPath { get; set; }

        /// <summary>
        /// 关系路径
        /// </summary>
        [StringLength(1024)]
        public string TreePath { get; set; }

        /// <summary>
        /// 层数
        /// </summary>
        public int Layer { get; set; }

        /// <summary>
        /// 锁定余额
        /// </summary>
        public decimal LockedBalance { get; set; }

        /// <summary>
        /// 子节点个数
        /// </summary>
        public int NodeCount { get; set; }
    }

    /// <summary>
    /// 网组类型
    /// </summary>
    public enum NetTypes : int
    {
        A网 = 0,
        B网 = 1,
        C网 = 2
    }

    /// <summary>
    /// 点位来源类型
    /// </summary>
    public enum PointTypes : int
    {
        注册点位 = 0,
        奖励点位 = 1
    }

}
